package com.aaa.dao;

import com.aaa.entity.Menu;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 菜单权限表(Menu)表数据库访问层
 *
 * @author dudu
 * @since 2022-06-27 11:26:10
 */
public interface MenuDao {
    /**
    * @author     ：dudu
    * @Description: 根据名字查询
    */
    List<Menu>findMenuByUsername(String username);
    /**
     * @author     ：dudu
     * @Description: 查询所有菜单
    */
    List<Menu> findAllMenu();
    /**
     * @author     ：dudu
     * @Description: 增加菜单
    */
    int addMenu(Menu menu);
    /**
     * @author     ：dudu
     * @Description: 删除菜单
    */
    int deleteMenu(Integer menuId);
    /**
     * @author     ：dudu
     * @Description: 修改菜单
    */
    int updateMenu(Menu menu);
    /**
     * @author     ：dudu
     * @Description:根据id查找父亲的id和名字
    */
    Menu findParentNameId(Integer menuId);
    /**
     * @author     ：dudu
     * @Description:查询所有角色
    */
    List<Integer> selectAllRole();
    /**
     * @author     ：dudu
     * @Description: 插入中间表
    */
    int insertRoleMenu(@Param("roleId") int roleId, @Param("menuId") int menuId);
    /**
     * @author     ：dudu
     * @Description: 删除中间表数据
    */
    int deleteRoleMenu(int menuId);
    /**
     * @author     ：dudu
     * @Description: 通过ID查询单条数据
    */
    Menu queryById(Integer menuId);
    /**
     * @author     ：dudu
     * @Description:修改菜单属性为不可见，假删除 不在数据库中删除
    */
    int deleteMenuById(Integer menuId);
}

